package com.niuwa.p2p.service.message;

import java.util.List;
import java.util.Map;

import com.niuwa.p2p.entity.Dictionary;
import com.niuwa.p2p.entity.message.Message;
import com.niuwa.p2p.vo.front.account.MsgVo;

/**
 * 消息管理service
 * 
 * @title IMessageService.java
 *
 * @author LIJIAN
 * @version 1.0
 * @created 2015年4月16日
 */
public interface IMessageService {
	/**
	 * 消息管理列表[web]
	 * 
	 * @param paramMap
	 * @return
	 */
	List<MsgVo> selectMsgBySelectiveListPage(Map<String, Object> paramMap);

	/**
	 * 查询未读消息数[web]
	 * 
	 * @param paramMap
	 * @return
	 */
	long selectUnreadMsgCount(Map<String, Object> paramMap);

	/**
	 * 批量修改已读状态
	 * 
	 * @param paramMap
	 * @return
	 */
	int updateMsgReadStatus(Map<String, Object> paramMap);

	List<Message> getMessageList(Map<String, Object> paramMap);

	int getMessageListCount(Map<String, Object> paramMap);

	Message getMessageById(Long id);
	
	/**
	 *消息相关字典【web】
	 * @return
	 */
	public Map<String, List<Dictionary>> getMessageDict() throws Exception;
	
   	/**
   	 * 根据接收方Id、发送方式、获取最新发送消息内容【邮件认证时用到该方法】
   	 * @param map
   	 * @return
   	 */
   	Message selectMessageBySelective(Map<String, Object> map);
   	
	/**
   	 * 根据接收方Id、发送方式、模板编号标记信息未无效【邮件认证时用到该方法】
   	 * @param map
   	 * @return
   	 */
   	int updateMsgValid(Map<String, Object> map) throws Exception;
}
